Clients interact with Web-based applications and documents over a collection of computers and other hardware components interconnected by communication channels that allow sharing of resources and information, collectively known as the Internet. Such interaction requires an open communication channel between a client's computing device and the internet. Web-based applications and documents are often displayed through a web browser, which retrieves, presents, and traverses information resources available on the internet. Web applications and documents may include resources identified by a uniform resource locator (URL) that serves as a reference to an Internet resource. One particular type of URL is the Hyper Text Markup Language (HTML). Web browsers interpret the HTML code that is included in web applications and documents and composes them into visible or audible web pages.
A web browser composes a web page by retrieving resources (e.g. HTML files or the output of an executable residing on a host-server) from the web page's host-server each time the web browser is required to compose that particular webpage. Having all of the resources necessary to compose a web page ensures that the web page loads and operates correctly in the web browser. HTML code has elements that may include attributes, for example, a manifest attribute. The manifest attribute is a software storage feature that provides the ability to access a web application or document without a network connection once the required resources have been cached on a computing device. Furthermore, the manifest attribute specifies an application cache manifest, which is a file that lists the resources required by a web browser to properly display that particular webpage. When connecting to a network for the first time, a web browser reads the cache manifest file, downloads the resources included in the cache manifest file and caches them in memory. Then, in the absence of a network connection, the web browser retrieves the required resources from the cache and renders the web application offline utilizing the cached resources.